home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <winb.h>
- #include <te.h>
- #include <fntb.h>
- #include <gui.h>
- #include <file_dlg.h>
- #include <time.h>
- #include "igo.h"
- #include "banx.h"
- #include "kiffile.h"
- #include "title.h"
- #include "kifuctrl.h"
-
- extern int dialogId_handy ;
- extern int print_dialogId ;
- extern int lineset_dialogId ;
- extern int dialogId_title ;
- extern int auto_alertId ;
- extern int deskTopId ;
- extern int blacknameId ;
- extern int whitenameId ;
- extern int numboxId[12] ;
- extern int placeId ;
- extern int listMenuId[3] ;
- extern int textcommentId[10] ;
- extern int title_messageId[12] ;
- extern int note_windowId ;
- extern int warningId;
- extern int commentdialogId;
- extern int commentId;
- extern int fsavedialogId;
- extern int fsave_messageId[2];
- extern int samesave_dialogId;
- extern int judge_dialogId ;
- extern int judge_messageId[4] ;
- extern int ban_windowId ;
- extern int check_alertId ;
-
- /* initDataMIDESK:mitem1Id[0]:MJ_MITEML40の呼び出し関数 */
- int igo_init(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- if(title_fsave_read()==ON){
- title_state_set(NEW);
-
- MMI_SendMessage( fsave_messageId[0], MM_SETMSG, 1,
- "棋譜デ-タが保存されておりません");
- MMI_SendMessage( fsave_messageId[1], MM_SETMSG, 1,
- "デ-タを保存して新規作成を行いますか");
-
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( fsavedialogId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* オブジェクトを表示する */
- MMI_SendMessage( fsavedialogId , MM_SHOW , 0 ) ;
-
- }else{
- igo_do_init();
- }
-
- return NOERR ;
- }
-
- /* initの下請け関数 */
- int igo_do_init()
- {
- BAN_TYPE ban_type;
-
- ban_type = *title_bantype_read();
- title_init();
- title_bantype_set( ban_type); /* タイトルで保持すべきなのはこれだけ */
-
- kifu_init();
- comment_dispFunc();
- title_dispFunc();
- MMI_SendMessage( note_windowId , MM_ATTACH , 1 , deskTopId ) ;
- MMI_SendMessage( note_windowId, MM_SHOW, 0);
- MMI_SendMessage( ban_windowId , MM_ATTACH , 1 , deskTopId ) ;
- MMI_SendMessage( ban_windowId, MM_SHOW, 0);
-
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem1Id[1]:MJ_MITEML40の呼び出し関数 */
- int igo_read(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
-
- if(title_fsave_read()==ON){
- title_state_set(READ);
-
- MMI_SendMessage( fsave_messageId[0], MM_SETMSG, 1,
- "棋譜デ-タが保存されておりません");
- MMI_SendMessage( fsave_messageId[1], MM_SETMSG, 1,
- "デ-タを保存して読込を行いますか");
-
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( fsavedialogId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* dialogId_handyでされるオブジェクトを表示する */
- MMI_SendMessage( fsavedialogId , MM_SHOW , 0 ) ;
-
- }else{
- igo_do_read();
- }
-
- return NOERR ;
- }
-
- /* readの下請け関数 */
- int igo_do_read()
- {
- char fileName[80] ; /* ファイル名用の配列 */
- int cell_id;
- int change_flg;
-
- /* ファイルダイアログで"取消"が押されたらこれ以下を実行しない */
- if( fdlgFunc( fileName ) != 0 )
- {
-
- if(kifu_read(fileName) != 0){
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( warningId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* warningIdで示されるオブジェクトを表示する */
- MMI_SendMessage( warningId , MM_SHOW , 0 ) ;
-
- return NOERR;
- }
- title_fname_set(fileName);
- change_flg = kifu_chg_flg_set( 1);
- kifu_first();
- do{
- cell_id = kifu_forward();
- }while( cell_id != HEAD_CELL && cell_id != REPEAT_CANNOT_BOTTOM_CELL);
-
- if( cell_id == HEAD_CELL){
- kifu_back();
- }
- kifu_chg_flg_set( change_flg);
- comment_dispFunc();
- title_dispFunc();
- MMI_SendMessage( ban_windowId , MM_ATTACH , 1 , deskTopId ) ;
- MMI_SendMessage( note_windowId , MM_ATTACH , 1 , deskTopId ) ;
-
- line_window_resize();
-
- MMI_SendMessage( ban_windowId, MM_SHOW, 0);
- MMI_SendMessage( note_windowId, MM_SHOW, 0);
-
-
- }
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem1Id[2]:MJ_MITEML40の呼び出し関数 */
- int igo_write(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- FILE *fp;
- char wk_fname[80] ; /* ファイル名用の配列 */
- char wk_kifname[13];
- YMDHM wk_start_date;
- char alp_str[] = "abcdefghijklmnopqrstuvwxyz";
- int i, j;
-
- wk_start_date = *title_playstart_time_read();
- sprintf(wk_kifname, "%02u%02u%02u%02u.kif", wk_start_date.year%100,
- wk_start_date.month%100, wk_start_date.day%100, wk_start_date.hour%100);
-
- if((fp = fopen(wk_kifname, "r")) == NULL){
- FDG_SetFileText(wk_kifname);
-
- /* ファイルダイアログで"取消"が押されたらこれ以下を実行しない */
- if( fdlgFunc( wk_fname ) != 0 )
- {
- title_fname_set( wk_fname);
- igo_do_write();
- }
-
- return NOERR ;
-
- }
- fclose(fp);
-
- for(i=0;i<strlen(alp_str);i++){
- for(j=0;j<strlen(alp_str);j++){
- wk_kifname[6] = alp_str[i];
- wk_kifname[7] = alp_str[j];
- if((fp = fopen(wk_kifname, "r")) == NULL){
- FDG_SetFileText(wk_kifname);
-
- /* ファイルダイアログで"取消"が押されたらこれ以下を実行しない */
- if( fdlgFunc( wk_fname ) != 0 )
- {
- title_fname_set( wk_fname);
- igo_do_write();
- }
-
- return NOERR ;
- }
- fclose(fp);
-
- }
- }
-
- return NOERR ;
- }
-
- /* writeの下請け関数 */
- int igo_do_write()
- {
- char *fileName; /* ファイル名用の配列 */
-
- fileName = title_fname_read();
- if(kifu_write(fileName) != 0){
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( warningId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* warningIdで示されるオブジェクトを表示する */
- MMI_SendMessage( warningId , MM_SHOW , 0 ) ;
-
- return NOERR;
- }
- title_fsave_off();
- title_dispFunc();
-
- return NOERR ;
-
- }
-
- /* initDataMIDESK:mitem1Id[4]:MJ_MITEML40の呼び出し関数 */
- int igo_handy(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( dialogId_handy , MM_ATTACH , 1 , deskTopId ) ;
-
- /* dialogId_handyでされるオブジェクトを表示する */
- MMI_SendMessage( dialogId_handy , MM_SHOW , 0 ) ;
-
- return NOERR ;
- }
-
-
- /* initDataMIDESK:mitem1Id[3]:MJ_MITEML40の呼び出し関数 */
- int igo_samewrite(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- char *fname;
- FILE *fp;
-
- fname = title_fname_read();
- if((fp=fopen(fname,"rb"))==NULL){
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( warningId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* warningIdで示されるオブジェクトを表示する */
- MMI_SendMessage( warningId , MM_SHOW , 0 ) ;
-
- return NOERR;
-
- }else{
-
- fclose(fp);
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( samesave_dialogId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* オブジェクトを表示する */
- MMI_SendMessage( samesave_dialogId , MM_SHOW , 0 ) ;
-
- }
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[7]:MJ_MITEML40の呼び出し関数 */
- int igo_print(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( print_dialogId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* print_dialogIdで指定されるオブジェクトを表示する */
- MMI_SendMessage( print_dialogId , MM_SHOW , 0 ) ;
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[8]:MJ_MITEML40の呼び出し関数 */
- int igo_line(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( lineset_dialogId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* lineset_dialogIdで指定されるオブジェクトを表示する */
- MMI_SendMessage( lineset_dialogId , MM_SHOW , 0 ) ;
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[0]:MJ_MITEML40の呼び出し関数 */
- int igo_title(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- char tptr[21];
- YMDHM *ymdhm;
- time_t *timer;
- int i, j, k, l;
- int vicdef_id, vicdef_number;
- struct tm *current_time;
- static char *listString1[] = { "黒コミ出し", "白コミ出し", "コミなし" } ;
- static char *listString2[] = { "半", "ちょうど" } ;
- static char *listString3[] = { "黒", "白", "引き分け",
- "黒中押し勝ち", "白中押し勝ち"} ;
-
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( dialogId_title , MM_ATTACH , 1 , deskTopId ) ;
-
- /* 値を設定する */
- title_blacknameread( tptr);
- MMI_SendMessage( blacknameId, MM_SETTEXT, 3, tptr, 21, FALSE);
-
- title_whitenameread( tptr);
- MMI_SendMessage( whitenameId, MM_SETTEXT, 3, tptr, 21, FALSE);
-
- title_playspaceread( tptr);
- MMI_SendMessage( placeId, MM_SETTEXT, 3, tptr, 21, FALSE);
-
- /* 日付時刻を設定する */
- time(timer);
- current_time = localtime(timer);
-
- ymdhm = title_playstart_time_read();
- if(ymdhm->year== 0){
- ymdhm->year = 1900 + current_time->tm_year;
- }
- if(ymdhm->month== 0){
- ymdhm->month = 1 + current_time->tm_mon;
- }
- if(ymdhm->day == 0){
- ymdhm->day = current_time->tm_mday;
- }
- MMI_SendMessage( numboxId[0], MM_SETNUMBOX, 5, ymdhm->year, 0, 9999, 1, 0);
- MMI_SendMessage( numboxId[1], MM_SETNUMBOX, 5, ymdhm->month, 0, 12, 1, 0);
- MMI_SendMessage( numboxId[2], MM_SETNUMBOX, 5, ymdhm->day, 0, 31, 1, 0);
- MMI_SendMessage( numboxId[3], MM_SETNUMBOX, 5, ymdhm->hour, 0, 23, 1, 0);
- MMI_SendMessage( numboxId[4], MM_SETNUMBOX, 5, ymdhm->minute, 0, 59, 1, 0);
-
- ymdhm = title_playend_time_read();
-
- MMI_SendMessage( numboxId[5], MM_SETNUMBOX, 5, ymdhm->year, 0, 9999, 1, 0);
- MMI_SendMessage( numboxId[6], MM_SETNUMBOX, 5, ymdhm->month, 0, 12, 1, 0);
- MMI_SendMessage( numboxId[7], MM_SETNUMBOX, 5, ymdhm->day, 0, 31, 1, 0);
- MMI_SendMessage( numboxId[8], MM_SETNUMBOX, 5, ymdhm->hour, 0, 23, 1, 0);
- MMI_SendMessage( numboxId[9], MM_SETNUMBOX, 5, ymdhm->minute, 0, 59, 1, 0);
-
- title_komiread(&j, &k, &l);
- /* リストメニューの設定をします。 */
- MMI_SendMessage(listMenuId[0], MM_SETMAXROWCOLUM, 2, 3, 11) ;
- MMI_SendMessage(listMenuId[0], MM_SETCOLUMLEN, 2, 0, 11) ;
- for (i = 0 ; i < sizeof(listString1)/sizeof(char *) ; i++)
- MMI_SendMessage(listMenuId[0], MM_SETROWCOLUM, 3, i, 0, listString1[i]) ;
- if(j== -1){
- j = 0;
- }
- /* リストメニューの先頭の項目を選択状態とします。 */
- MMI_SendMessage(listMenuId[0], MM_SETROWCOLUM, 4,
- j, 0, listString1[j], TRUE) ;
-
- if(k== -1){
- k = 5;
- }
- MMI_SendMessage( numboxId[10], MM_SETNUMBOX, 5, k, 0, 9999, 1, 0);
-
- /* リストメニューの設定をします。 */
- MMI_SendMessage(listMenuId[1], MM_SETMAXROWCOLUM, 2, 2, 9) ;
- MMI_SendMessage(listMenuId[1], MM_SETCOLUMLEN, 2, 0, 9) ;
- for (i = 0 ; i < sizeof(listString2)/sizeof(char *) ; i++)
- MMI_SendMessage(listMenuId[1], MM_SETROWCOLUM, 3, i, 0, listString2[i]) ;
-
- if(l== -1){
- l = 0;
- }
- /* リストメニューの先頭の項目を選択状態とします。 */
- MMI_SendMessage(listMenuId[1], MM_SETROWCOLUM, 4,
- l, 0, listString2[l], TRUE) ;
-
- /* リストメニューの設定をします。 */
- MMI_SendMessage(listMenuId[2], MM_SETMAXROWCOLUM, 2, 5, 13) ;
- MMI_SendMessage(listMenuId[2], MM_SETCOLUMLEN, 2, 0, 13) ;
- for (i = 0 ; i < sizeof(listString3)/sizeof(char *) ; i++)
- MMI_SendMessage(listMenuId[2], MM_SETROWCOLUM, 3, i, 0, listString3[i]) ;
-
- title_issueread(&vicdef_id, &vicdef_number);
- switch(vicdef_id ){
- case 0:
- if(vicdef_number==-1){
- j=3;
- break;
- }else{
- j=0;
- break;
- }
- case 1:
- if(vicdef_number==-1){
- j=4;
- break;
- }else{
- j=1;
- break;
- }
- case 2:
- j=2;
- break;
- default:
- j=0;
- break;
- }
-
- if(vicdef_number==-1){
- k=0;
- }else{
- k=vicdef_number;
- }
-
- /* リストメニューの先頭の項目を選択状態とします。 */
- MMI_SendMessage(listMenuId[2], MM_SETROWCOLUM, 4,
- j, 0, listString3[j], TRUE) ;
-
- MMI_SendMessage( numboxId[11], MM_SETNUMBOX, 5, k, 0, 9999, 1, 0);
-
- /* カ-ソルを対局者黒の位置に持っていく */
- MMI_SendMessage( blacknameId , MM_WAKE , 0 ) ;
-
- /* dialogId_titleでされるオブジェクトを表示する */
- MMI_SendMessage( dialogId_title , MM_SHOW , 0 ) ;
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[1]:MJ_MITEML40の呼び出し関数 */
- int igo_comment(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- MMI_SendMessage( commentId, MM_SETTEXT, 3, kifu_commentread(), 256, FALSE);
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( commentdialogId, MM_ATTACH , 1 , deskTopId ) ;
-
- /* commentに直ちに文章が書けるようにする */
- MMI_SendMessage( commentId , MM_WAKE , 0 );
-
- /* commentdialogIdでされるオブジェクトを表示する */
- MMI_SendMessage( commentdialogId , MM_SHOW , 0 ) ;
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[2]:MJ_MITEML40の呼び出し関数 */
- int igo_chg_put(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- kifu_chg_put();
- comment_dispFunc();
- MMI_SendMessage( deskTopId, MM_SHOW , 0 ) ;
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[3]:MJ_MITEML40の呼び出し関数 */
- int igo_chg_cancel(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- kifu_chg_cancel();
- comment_dispFunc();
- MMI_SendMessage( deskTopId, MM_SHOW , 0 ) ;
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[10]:MJ_MITEML40の呼び出し関数 */
- int igo_abandon(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- kifu_abandon();
- comment_dispFunc();
- MMI_SendMessage( deskTopId , MM_SHOW , 0 ) ;
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[4]:MJ_MITEML40の呼び出し関数 */
- int igo_nummberdisp(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- kifu_numberdisp();
- comment_dispFunc();
- MMI_SendMessage( deskTopId, MM_SHOW , 0 ) ;
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[5]:MJ_MITEML40の呼び出し関数 */
- int igo_rebirthset(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( auto_alertId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* dialogId_handyでされるオブジェクトを表示する */
- MMI_SendMessage( auto_alertId , MM_SHOW , 0 ) ;
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[11]:MJ_MITEML40の呼び出し関数 */
- int igo_autorebirth(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- int rebirth_speed;
- EVENT *pevent;
-
- rebirth_speed = kifu_rebirth_speed_set( 0);
-
- if(kifu_forward() == REPEAT_CANNOT_BOTTOM_CELL){
- kifu_first();
- }
-
- do{
- MMI_iosense();
- kifu_forward();
- comment_dispFunc();
- ban_note_disp();
- MMI_WaitLoop(rebirth_speed*10);
- }while(MMI_GetEvnt(EVMOSUP | EVMOSDN | EVKEY, &pevent) < NOERR);
-
- kifu_rebirth_speed_set( rebirth_speed);
- return NOERR ;
- }
-
- /* initDataMIMENU:mitem2Id[16]:MJ_MITEML40の呼び出し関数 */
- int igo_check(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- /* オブジェクトをダイアログに取り付ける */
- MMI_SendMessage( check_alertId , MM_ATTACH , 1 , deskTopId ) ;
-
- /* dialogId_handyでされるオブジェクトを表示する */
- MMI_SendMessage( check_alertId , MM_SHOW , 0 ) ;
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[12]:MJ_MITEML40の呼び出し関数 */
- int igo_judge(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- judge_set();
-
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[6]:MJ_MITEML40の呼び出し関数 */
- int igo_kaiten1(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- henkan_set( 1, 1);
- comment_dispFunc();
- MMI_SendMessage( deskTopId, MM_SHOW , 0 ) ;
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[7]:MJ_MITEML40の呼び出し関数 */
- int igo_kaiten2(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- henkan_set( 2, 1);
- comment_dispFunc();
- MMI_SendMessage( deskTopId, MM_SHOW , 0 ) ;
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[8]:MJ_MITEML40の呼び出し関数 */
- int igo_kaiten3(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- henkan_set( 3, 1);
- comment_dispFunc();
- MMI_SendMessage( deskTopId, MM_SHOW , 0 ) ;
- return NOERR ;
- }
-
- /* initDataMIDESK:mitem2Id[9]:MJ_MITEML40の呼び出し関数 */
- int igo_hanten(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- henkan_set( 0, -1);
- comment_dispFunc();
- MMI_SendMessage( deskTopId, MM_SHOW , 0 ) ;
- return NOERR ;
- }
-
- /* initDataMIMENU:mitem2Id[13]:MJ_MITEML40の呼び出し関数 */
- int igo_bandisp(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- MMI_SendMessage( ban_windowId , MM_ATTACH , 1 , deskTopId ) ;
- MMI_SendMessage( ban_windowId , MM_SHOW , 0 ) ;
- return NOERR ;
- }
-
- /* initDataMIMENU:mitem2Id[14]:MJ_MITEML40の呼び出し関数 */
- int igo_notedisp(kobj, messId, argc, pev, trigger)
- int kobj ;
- int messId ;
- int argc ;
- EVENT *pev ;
- int trigger ;
- {
- MMI_SendMessage( note_windowId , MM_ATTACH , 1 , deskTopId ) ;
- MMI_SendMessage( note_windowId , MM_SHOW , 0 ) ;
- return NOERR ;
- }
-
- /* ファイルダイアログ処理関数 */
- int fdlgFunc( PathName )
- char *PathName ;
- {
- static char *ExtStr[] = {"*.kif" , NULL} ; /* ワイルドカードの指定 */
- unsigned int MSlctCnt ; /* 選択されたファイル数(ここでは使っていない) */
- int Atr ;
- int ret ;
-
- /* ファイルダイアログを表示している間は
- メニューを選択できないようにする */
- MTL_setAtrObj( deskTopId , MS_INACTIVEL40) ;
-
- /* ファイルダイアログの表示 */
- ret = FDG_DspFileDlg( MMI_GetBaseObj(), FDG_TEXT, NULL, ExtStr, &MSlctCnt ) ;
-
- /* "実行"が押されたならファイル名を取得する */
- if( ret )
- {
- FDG_GetPathName( PathName , &Atr , 0 ) ;
- }
- /* この関数を設定するとうまく動かない
- FDG_FreeFileDlg();
- */
-
- /* 選択不可だったものを元に戻す */
- MTL_resetAtrObj( deskTopId , (~MS_INACTIVEL40)) ;
-
- return ret ;
- }
-
- /* 棋譜タイトル表示関数 */
- int title_dispFunc()
- {
- char blackname[21];
- char whitename[21];
- char play_space[21];
- int komi_id, komi_number, hanmoku_id;
- int vicdef_id, vicdef_number;
- char start_time[80], end_time[80];
- static char wstr[80], t[80];
- int handy;
- char s[80];
-
- title_blacknameread( blackname);
- title_whitenameread( whitename);
- title_playspaceread( play_space);
- title_komiread( &komi_id, &komi_number, &hanmoku_id);
- title_issueread( &vicdef_id, &vicdef_number);
- handy = title_handy_int_read();
-
- MMI_SendMessage( title_messageId[9], MM_SETMSG, 1,
- title_short_fname_read());
- MMI_SendMessage( textcommentId[0], MM_SETTEXT, 3, blackname, 21, FALSE);
- MMI_SendMessage( textcommentId[1], MM_SETTEXT, 3, whitename, 21, FALSE);
-
- hyouji_start_end_time( start_time, end_time);
- MMI_SendMessage( textcommentId[2], MM_SETTEXT, 3, start_time, 23, FALSE);
-
- MMI_SendMessage( textcommentId[3], MM_SETTEXT, 3, end_time, 23, FALSE);
-
- MMI_SendMessage( textcommentId[4], MM_SETTEXT, 3, play_space, 21, FALSE);
-
- if(handy == 1){
- sprintf(s, "%-20s", "");
- }else{
- sprintf(s, " %u%-19s", handy, "子");
- }
- MMI_SendMessage( textcommentId[8], MM_SETTEXT, 3, s, 21, FALSE);
-
- switch(komi_id ){
- case 0: strcpy(wstr, "黒コミ出し");break;
- case 1: strcpy(wstr, "白コミ出し");break;
- case 2: strcpy(wstr, "コミなし ");break;
- default: strcpy(wstr, " ");break;
- }
- if(komi_id!=2 && komi_number > 0){
- strcat(wstr, _itoa(komi_number, t, 10));
- strcat(wstr, "目");
- switch(hanmoku_id ){
- case 0: strcat(wstr, "半");break;
- case 1: strcat(wstr, " ");break;
- default:strcat(wstr, " ");break;
- }
- }
- MMI_SendMessage( textcommentId[5], MM_SETTEXT, 3, wstr, 21, FALSE);
-
- switch(vicdef_id ){
- case 0: strcpy(wstr, "黒 ");break;
- case 1: strcpy(wstr, "白 ");break;
- case 2: strcpy(wstr, "ジゴ");break;
- default: strcpy(wstr, " ");break;
- }
- switch(vicdef_id ){
- case 0:
- case 1:
- if(vicdef_number==-1){
- strcat(wstr, "中押し勝ち");
- }else if(vicdef_number==0){
- if(hanmoku_id == 0 && (komi_id == 0 || komi_id == 1)){
- strcat(wstr, "半目勝ち");
- }else{
- strcat(wstr, "中押し勝ち");
- }
- }else{
- strcat(wstr, _itoa(vicdef_number, t, 10));
- strcat(wstr, "目");
- if(hanmoku_id == 0 && (komi_id == 0 || komi_id == 1)){
- strcat(wstr, "半勝ち");
- }else if(vicdef_id != 2){
- strcat(wstr, "勝ち");
- }
- }
- break;
- default: break;
- }
- MMI_SendMessage( textcommentId[6], MM_SETTEXT, 3, wstr, 21, FALSE);
-
- return 0;
- }
-
- /* 93/06/15 現在未使用 */
- /* 棋譜タイトルクリア関数 */
- static int title_dispclearFunc()
- {
- static char wstr[80] = " ";
-
- MMI_SendMessage( textcommentId[0], MM_SETTEXT, 3, wstr, 21, FALSE);
- MMI_SendMessage( textcommentId[1], MM_SETTEXT, 3, wstr, 21, FALSE);
- MMI_SendMessage( textcommentId[2], MM_SETTEXT, 3, wstr, 23, FALSE);
- MMI_SendMessage( textcommentId[3], MM_SETTEXT, 3, wstr, 23, FALSE);
- MMI_SendMessage( textcommentId[4], MM_SETTEXT, 3, wstr, 21, FALSE);
- MMI_SendMessage( textcommentId[5], MM_SETTEXT, 3, wstr, 21, FALSE);
- MMI_SendMessage( textcommentId[6], MM_SETTEXT, 3, wstr, 21, FALSE);
-
- MMI_SendMessage( note_windowId , MM_SHOW , 0 ) ;
-
- return 0;
- }
-
- /* コメント出力関数 */
- int comment_dispFunc()
- {
- char capture_message[12];
- int black_capture_number, white_capture_number;
-
- MMI_SendMessage( textcommentId[7], MM_SETTEXT, 3, kifu_commentread(), 256, FALSE);
-
- kifu_captureread(&black_capture_number, &white_capture_number);
- sprintf(capture_message, "黒%3d 白%3d", black_capture_number,
- white_capture_number);
- MMI_SendMessage( textcommentId[9], MM_SETTEXT, 3, capture_message, 12, FALSE);
-
- return 0;
- }
-
- /* 初期画面戻り関数 */
- int retunrInitMenuFunc()
- {
- MMI_SendMessage( deskTopId , MM_SHOW , 0 ) ;
-
- return 0;
- }
-